package info.ericbutler.microcosm.enums;

import info.ericbutler.microcosm.entities.ui.Item;
import info.ericbutler.microcosm.entities.ui.ItemStack;

public enum TileType {
	GRASS1(true, false, 0, null, 0, false), 
	TREE1(false, true, 1, new ItemStack( Item.LOGS, 2 ), 15, false), 
	TALLGRASS1(true, true, 1, new ItemStack( Item.ROCKS, 1 ), 0, false), 
	TALLTREE1(false, true, 2, new ItemStack(Item.LOGS, 4 ), 25, false), 
	FANCYGRASS1(true, false, 0, null, 5, false),
	WOODEN_WALL_01(false, false, 1, null, 0, true);
	
	private boolean		passable, farmable, positionAware;
	private int			verticalOverlap;
	private ItemStack	drops;
	private float harvestHP;

	TileType(boolean passable, boolean farmable, int verticalOverlap, ItemStack drops, float hhp, boolean positionAware) {
		this.passable = passable;
		this.farmable = farmable;
		this.verticalOverlap = verticalOverlap;
		this.drops = drops;
		this.harvestHP = hhp;
	}

	public boolean isPassable() {
		return this.passable;
	}

	public boolean isFarmable() {
		return this.farmable;
	}

	public int getVerticalOverlap() {
		return this.verticalOverlap;
	}

	public ItemStack getDrops() {
		if( this.drops == null ) { return null; }
		return this.drops.clone();
	}
	
	public float getHarvestHP() {
		return this.harvestHP;
	}
}
